/**
 * 2010(c) Copyright Oceansoft Information System Co.,LTD. All rights reserved.
 * <p>
 * Compile: JDK 1.6+
 * <p>
 * 版权所有(C)：江苏欧索软件有限公司
 * <p>
 * 公司名称：江苏欧索软件有限公司
 * <p>
 * 公司地址：中国苏州科技城青山路1号
 * <p>
 * 网址: http://www.oceansoft.com.cn
 * <p>
 * 作者: 090922(陈伟)
 * <p>
 * 文件名: com.oceansoft.mobile.econsole.common.spring.MyContextListener.java
 * <p>
 * 类产生时间: 2014/8/7 17:00
 * <p>
 * 负责人: 090922(陈伟)
 * <p>
 * Email:javacspring@gmail.com
 * <p>
 * 所在组 : 掌上公安应用平台
 * <p>
 * 所在部门: 开发部--手持技术部
 * <p>
 * <p>
 */
package cn.com.oceansoft.nos.common.spring;

import cn.com.oceansoft.business.sys.entity.DictItem;
import cn.com.oceansoft.business.sys.persistence.ISysDictMapper;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.util.List;

/**
 * 自定义监听器    系统自启 加载数据
 *
 * @author: fym
 * @time: 2014/8/7 17:00
 */
public class MyContextListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        //获取信息
        ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
        //获取字典查询Bean
        ISysDictMapper mapper = (ISysDictMapper) ac.getBean("ISysDictMapper");
        //获取需要系统加载的字典项和值
        List<DictItem> dictItems = mapper.findAllDictByZtree();
        ServletContext servletContext = sce.getServletContext();
        //一个key对应一个实体
        for (int i = 0; i < dictItems.size(); i++) {
            String key = dictItems.get(i).getKey();
            servletContext.setAttribute(key, dictItems.get(i));
        }
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
    }
}
